home *** CD-ROM | disk | FTP | other *** search
/ Apple WWDC 1996 / WWDC96_1996 (CD).toast / Technology Materials / MacOS 8 Resources / Developer Tools / Mac OS 8 Interfaces & Libraries / Interfaces / AIncludes / TextObjects.a < prev    next >
Text File  |  1996-05-01  |  9KB  |  295 lines

  1. ;
  2. ;    File:        TextObjects.a
  3. ;
  4. ;    Contains:    Text object Interfaces.
  5. ;
  6. ;    Version:    Technology:    System 8
  7. ;                Release:    Universal Interfaces 3.0d3 on Copland DR1
  8. ;
  9. ;    Copyright:    © 1984-1996 by Apple Computer, Inc.  All rights reserved.
  10. ;
  11. ;    Bugs?:        If you find a problem with this file, send the file and version
  12. ;                information (from above) and the problem description to:
  13. ;
  14. ;                    Internet:    apple.bugs@applelink.apple.com
  15. ;                    AppleLink:    APPLE.BUGS
  16. ;
  17. ;
  18.     IF &TYPE('__TEXTOBJECTS__') = 'UNDEFINED' THEN
  19. __TEXTOBJECTS__ SET 1
  20.  
  21.     IF &TYPE('__CONDITIONALMACROS__') = 'UNDEFINED' THEN
  22.     include 'ConditionalMacros.a'
  23.     ENDIF
  24.     IF &TYPE('__TYPES__') = 'UNDEFINED' THEN
  25.     include 'Types.a'
  26.     ENDIF
  27.     IF &TYPE('__UNICODE__') = 'UNDEFINED' THEN
  28.     include 'Unicode.a'
  29.     ENDIF
  30.     IF &TYPE('__TEXTCOMMON__') = 'UNDEFINED' THEN
  31.     include 'TextCommon.a'
  32.     ENDIF
  33.     IF FOR_SYSTEM7_AND_SYSTEM8_PREEMPTIVE THEN
  34. ;  Basic data types 
  35. ; typedef UInt32                         TextObjectUnit
  36.  
  37. ; typedef TextObjectUnit *                TextObject
  38.  
  39. ; typedef TextObject *                    TextObjectPtr
  40.  
  41. ; typedef const TextObjectUnit *        ConstTextObject
  42.  
  43. ;  Indices into text objects 
  44. ; typedef UInt32                         TextObjectIndex
  45.  
  46.  
  47. kTextObjectStart                EQU        0
  48. kTextObjectEnd                    EQU        $FFFFFFFF
  49. ;  Option flags 
  50. ; typedef OptionBits                     TextObjectOptions
  51.  
  52. ;
  53. ; The default or standard OptionBits are all zero by convention. The following
  54. ;   symbolic constant is provided for code readability. 
  55. ;
  56.  
  57. kTextObjStandardOptions            EQU        0
  58.  
  59. kTextObjNormalizeOptBit            EQU        0
  60.  
  61. kTextObjDontNormalizeOpt        EQU        $00
  62. kTextObjNormalizeOpt            EQU        $01
  63. ;  Creation and destruction 
  64. ;
  65. ; extern OSStatus NewTextObject(TextObject *newTextObject)
  66. ;
  67.     IF GENERATINGCFM THEN
  68.         IMPORT_CFM_FUNCTION NewTextObject
  69.     ENDIF
  70.  
  71. ;
  72. ; extern OSStatus InitPersistentTextObject(TextObjectUnit textObjectSpace[2147483647], ByteCount sizeInBytes)
  73. ;
  74.     IF GENERATINGCFM THEN
  75.         IMPORT_CFM_FUNCTION InitPersistentTextObject
  76.     ENDIF
  77.  
  78. ;
  79. ; extern OSStatus DisposeTextObject(TextObject textObject)
  80. ;
  81.     IF GENERATINGCFM THEN
  82.         IMPORT_CFM_FUNCTION DisposeTextObject
  83.     ENDIF
  84.  
  85. ;
  86. ; extern OSStatus CreateTextObjectFromTextObject(ConstTextObject oldTextObject, TextObjectIndex startIndex, TextObjectIndex endIndex, TextObject *newTextObject, TextObjectOptions optionBits)
  87. ;
  88.     IF GENERATINGCFM THEN
  89.         IMPORT_CFM_FUNCTION CreateTextObjectFromTextObject
  90.     ENDIF
  91.  
  92. ;  Text content manipulation 
  93. ;
  94. ; extern OSStatus InstallTextIntoTextObject(const char *srcText, ByteCount srcLengthInBytes, TextEncoding srcEncoding, LocaleIdentifier language, TextObject destTextObject, TextObjectOptions optionBits)
  95. ;
  96.     IF GENERATINGCFM THEN
  97.         IMPORT_CFM_FUNCTION InstallTextIntoTextObject
  98.     ENDIF
  99.  
  100. ;
  101. ; extern OSStatus AppendTextToTextObject(const char *srcText, ByteCount srcLengthInBytes, TextEncoding srcEncoding, LocaleIdentifier language, TextObject destTextObject, TextObjectOptions optionBits)
  102. ;
  103.     IF GENERATINGCFM THEN
  104.         IMPORT_CFM_FUNCTION AppendTextToTextObject
  105.     ENDIF
  106.  
  107. ;
  108. ; extern OSStatus ExtractTextFromTextObject(ConstTextObject textObject, TextObjectIndex startIndex, TextObjectIndex endIndex, char *destText, ByteCount destMaxSizeInBytes, TextEncoding destEncoding, LocaleIdentifier *language, ByteCount *destSizeInBytes, TextObjectIndex *nextSrcIndex)
  109. ;
  110.     IF GENERATINGCFM THEN
  111.         IMPORT_CFM_FUNCTION ExtractTextFromTextObject
  112.     ENDIF
  113.  
  114. ;
  115. ; extern OSStatus ReplaceInTextObject(TextObject destText, TextObjectIndex destStartIndex, TextObjectIndex destEndIndex, ConstTextObject srcText, TextObjectIndex srcStartIndex, TextObjectIndex srcEndIndex, TextObjectIndex *newStartIndex, TextObjectIndex *newEndIndex)
  116. ;
  117.     IF GENERATINGCFM THEN
  118.         IMPORT_CFM_FUNCTION ReplaceInTextObject
  119.     ENDIF
  120.  
  121. ;  Text object information 
  122. ;
  123. ; extern Boolean IsPersistentTextObject(ConstTextObject textObject)
  124. ;
  125.     IF GENERATINGCFM THEN
  126.         IMPORT_CFM_FUNCTION IsPersistentTextObject
  127.     ENDIF
  128.  
  129. ;
  130. ; extern Boolean IsTextObjectEmpty(ConstTextObject textObject)
  131. ;
  132.     IF GENERATINGCFM THEN
  133.         IMPORT_CFM_FUNCTION IsTextObjectEmpty
  134.     ENDIF
  135.  
  136. ;
  137. ; extern ByteCount GetTextObjectSize(ConstTextObject textObject)
  138. ;
  139.     IF GENERATINGCFM THEN
  140.         IMPORT_CFM_FUNCTION GetTextObjectSize
  141.     ENDIF
  142.  
  143. ;
  144. ; extern ByteCount GetTextObjectMaxSize(ConstTextObject textObject)
  145. ;
  146.     IF GENERATINGCFM THEN
  147.         IMPORT_CFM_FUNCTION GetTextObjectMaxSize
  148.     ENDIF
  149.  
  150. ;
  151. ; extern TextObjectIndex GetTextObjectEndIndex(ConstTextObject textObject)
  152. ;
  153.     IF GENERATINGCFM THEN
  154.         IMPORT_CFM_FUNCTION GetTextObjectEndIndex
  155.     ENDIF
  156.  
  157. ;
  158. ; extern ByteCount ComputePersistentTextObjectSize(ConstTextObject textObject, TextObjectIndex startIndex, TextObjectIndex endIndex, TextObjectOptions optionBits)
  159. ;
  160.     IF GENERATINGCFM THEN
  161.         IMPORT_CFM_FUNCTION ComputePersistentTextObjectSize
  162.     ENDIF
  163.  
  164. ;
  165. ; extern ByteCount ComputePersistentTextObjectFromTextSize(const char *text, ByteCount textByteLength, TextEncoding textEncoding, LocaleIdentifier language, TextObjectOptions optionBits)
  166. ;
  167.     IF GENERATINGCFM THEN
  168.         IMPORT_CFM_FUNCTION ComputePersistentTextObjectFromTextSize
  169.     ENDIF
  170.  
  171. ;
  172. ; extern OSStatus ComputeTextObjectExtractedTextSize(ConstTextObject textObject, TextObjectIndex startIndex, TextObjectIndex endIndex, ByteCount destMaxSizeInBytes, TextEncoding destEncoding, LocaleIdentifier *language, ByteCount *destResultLengthInBytes, TextObjectIndex *nextSrcIndex)
  173. ;
  174.     IF GENERATINGCFM THEN
  175.         IMPORT_CFM_FUNCTION ComputeTextObjectExtractedTextSize
  176.     ENDIF
  177.  
  178. ;
  179. ; extern OSStatus GetTextObjectTextTags(ConstTextObject textObject, TextObjectIndex index, TextEncoding *encoding, LocaleIdentifier *language)
  180. ;
  181.     IF GENERATINGCFM THEN
  182.         IMPORT_CFM_FUNCTION GetTextObjectTextTags
  183.     ENDIF
  184.  
  185. ;  This is equivalent to the preceding function. The preceding name is preferred. 
  186. ;
  187. ; extern OSStatus GetTextObjectEncodingAndLocaleIdentifier(ConstTextObject textObject, TextObjectIndex index, TextEncoding *encoding, LocaleIdentifier *language)
  188. ;
  189.     IF GENERATINGCFM THEN
  190.         IMPORT_CFM_FUNCTION GetTextObjectEncodingAndLocaleIdentifier
  191.     ENDIF
  192.  
  193. ;  Bulk access to text content 
  194. TextObjectTextInfo        RECORD 0
  195. encoding                 ds.l    1                ; offset: $0 (0)
  196. language                 ds.l    1                ; offset: $4 (4)
  197. startIndex                 ds.l    1                ; offset: $8 (8)
  198. endIndex                 ds.l    1                ; offset: $C (12)
  199. textLength                 ds.l    1                ; offset: $10 (16)
  200. text                     ds.l    1                ; offset: $14 (20)
  201. sizeof                     EQU *                    ; size:   $18 (24)
  202.                         ENDR
  203. ;
  204. ; extern OSStatus CountTextObjectTextRuns(ConstTextObject textObject, TextObjectIndex startIndex, TextObjectIndex endIndex, ItemCount *numTextRuns)
  205. ;
  206.     IF GENERATINGCFM THEN
  207.         IMPORT_CFM_FUNCTION CountTextObjectTextRuns
  208.     ENDIF
  209.  
  210. ;
  211. ; extern OSStatus GetTextObjectTextRuns(ConstTextObject textObject, TextObjectIndex startIndex, TextObjectIndex endIndex, ItemCount runArraySize, TextObjectTextInfo runInfo[2147483647], ItemCount *actualNumTextRuns)
  212. ;
  213.     IF GENERATINGCFM THEN
  214.         IMPORT_CFM_FUNCTION GetTextObjectTextRuns
  215.     ENDIF
  216.  
  217. ;  Comparison functions are in TextUtils 
  218. ;  Annotations 
  219. ;  Annotation types are given by the traditional four-character codes 
  220. ; typedef FourCharCode                     TextObjectAnnotationTag
  221.  
  222. ;  A wildcard tag to specify all annotations 
  223.  
  224. kTextObjAnyAnnotationType        EQU        '****'
  225. ;  Annotation attributes 
  226. ; typedef OptionBits                     TextObjectAnnotationAttributes
  227.  
  228. ;  Annotation attribute bits 
  229.  
  230. kTextObjAnnotationChangedMask    EQU        $01
  231. kTextObjTextChangedMask            EQU        $02
  232. ;
  233. ; extern OSStatus AnnotateTextObject(TextObject textObject, TextObjectIndex startIndex, TextObjectIndex endIndex, TextObjectAnnotationTag annotationType, ByteCount dataLength, const void *data, TextObjectAnnotationAttributes annotationOptions)
  234. ;
  235.     IF GENERATINGCFM THEN
  236.         IMPORT_CFM_FUNCTION AnnotateTextObject
  237.     ENDIF
  238.  
  239. ;
  240. ; extern OSStatus DeleteTextObjectAnnotations(TextObject textObject, TextObjectIndex startIndex, TextObjectIndex endIndex, TextObjectAnnotationTag annotationType)
  241. ;
  242.     IF GENERATINGCFM THEN
  243.         IMPORT_CFM_FUNCTION DeleteTextObjectAnnotations
  244.     ENDIF
  245.  
  246. ;  Accessing annotations 
  247. TextObjectAnnotationInfo RECORD 0
  248. annotationType             ds.l    1                ; offset: $0 (0)
  249. rangeStart                 ds.l    1                ; offset: $4 (4)
  250. rangeEnd                 ds.l    1                ; offset: $8 (8)
  251. attributes                 ds.l    1                ; offset: $C (12)
  252. dataSize                 ds.l    1                ; offset: $10 (16)
  253. data                     ds.l    1                ; offset: $14 (20)
  254. sizeof                     EQU *                    ; size:   $18 (24)
  255.                         ENDR
  256. ;
  257. ; extern OSStatus CountTextObjectAnnotations(ConstTextObject textObject, TextObjectIndex startIndex, TextObjectIndex endIndex, TextObjectAnnotationTag annotationType, ItemCount *numAnnotations)
  258. ;
  259.     IF GENERATINGCFM THEN
  260.         IMPORT_CFM_FUNCTION CountTextObjectAnnotations
  261.     ENDIF
  262.  
  263. ;
  264. ; extern OSStatus GetTextObjectAnnotations(ConstTextObject textObject, TextObjectIndex startIndex, TextObjectIndex endIndex, TextObjectAnnotationTag annotationType, ItemCount infoArraySize, TextObjectAnnotationInfo annotationInfo[2147483647], ItemCount *actualNumAnnotations)
  265. ;
  266.     IF GENERATINGCFM THEN
  267.         IMPORT_CFM_FUNCTION GetTextObjectAnnotations
  268.     ENDIF
  269.  
  270. ;
  271. ; extern OSStatus SetAnnotationAttributes(TextObject textObject, TextObjectIndex startIndex, TextObjectIndex endIndex, TextObjectAnnotationTag annotationType, TextObjectAnnotationAttributes annotationOptions)
  272. ;
  273.     IF GENERATINGCFM THEN
  274.         IMPORT_CFM_FUNCTION SetAnnotationAttributes
  275.     ENDIF
  276.  
  277. ;  Miscellaneous 
  278. ;
  279. ; extern OSStatus VerifyTextObject(ConstTextObject textObject)
  280. ;
  281.     IF GENERATINGCFM THEN
  282.         IMPORT_CFM_FUNCTION VerifyTextObject
  283.     ENDIF
  284.  
  285. ;
  286. ; extern OSStatus NormalizeTextObject(TextObject textObject)
  287. ;
  288.     IF GENERATINGCFM THEN
  289.         IMPORT_CFM_FUNCTION NormalizeTextObject
  290.     ENDIF
  291.  
  292.     ENDIF
  293.     ENDIF ; __TEXTOBJECTS__ 
  294.  
  295.